//
//  LPCommonTool.h
//  DigitalSchool
//
//  Created by Pan on 2017/10/31.
//  Copyright © 2017年 Pan. All rights reserved.
//

/** 通用工具类 */

#import <Foundation/Foundation.h>

@interface LPCommonTool : NSObject
@property(nonatomic,assign) NSInteger  messageCount;                    //消息数统计
@property(nonatomic,strong)NSMutableArray * labelTitleArray;            //标签数组统计
@property(nonatomic,strong)NSMutableArray *customLabelArray;            //自定义标签统计

/**
 @method 获取指定宽度width,字体大小fontSize,字符串value的高度
 @param value 待计算的字符串
 @param fontSize 字体的大小
 @param width 限制字符串显示区域的宽度
 @result float 返回的高度
 */
+ (float) heightForString:(NSString *)value andWidth:(float)width;


/**
 @method 数据对象存储到本地userDefault
 @param object 存储对象
 @param key 主键
 */
+(void)writeUserDefaultObject:(NSObject*)object forKey:(NSString*)key;

/**
 读写历史记录
 */
+(void)writeHisteryTimeObject:(NSObject*)object forKey:(NSString*)key;

+(id)readhistoryForKey:(NSString*)key;

+ (void)removeHistoryForKeys:(NSArray *)keys;

/**
 @method 获取userDefault对象
 */
+(id)readUserDefaultObjectForKey:(NSString*)key;
/**
 @method 获取历史记录
 */



+(NSNumber *)readUserId;
/** 获取key对应用户信息 */
+(id)readUserInfoWithKey:(NSString *)key;
/**
    读取电话号码
 */
+(NSNumber *)readphoneNumber;
/**
 读取密码
 */
+(NSNumber *)readPassword;
/**
 读取 用户类型
 */
+(NSNumber *)readIdengit;
/**
 读取播放历史
 */
+(NSNumber *)readTime;
/**
 @method 删除userDefault对象（数组）
 */
+ (void)removeUserDefaultObjectsForKeys:(NSArray *)keys;

/** 弹出消息 */
+ (void)viewWithOneMessage:(NSString *)message;

/** long转日期 (返回日期字符串) */
+ (NSString *)dateWithTimeIntervalSince1970:(NSTimeInterval)seconds formatter:(NSString *)formatter;

+(NSString *)timestampChangeTotime_Two:(NSString *)str;         //yyyy.mm.dd  hh:ss;

+(NSString*)timestampChangeTotime_Two:(NSString *)str;
/** 判断是否是iPhone X （需真机，模拟器固定返回@"x86_64"）*/
+ (BOOL)deviceIsIPhoneX;



/** 对象 转 Jason字符串 */
+ (NSString*)objectToJsonWithObject:(id)object;
/** Json 转 对象 */
+ (id)jsonToObjectWithJsonString:(NSString *)jsonString;

//*********************************推送***********************
// 在应用启动的时候调用
+ (void)setupWithOption:(NSDictionary *)launchingOption
                 appKey:(NSString *)appKey
                channel:(NSString *)channel
       apsForProduction:(BOOL)isProduction
  advertisingIdentifier:(NSString *)advertisingId;

// 在appdelegate注册设备处调用
+ (void)registerDeviceToken:(NSData *)deviceToken;



+ (BOOL)hasEmoji:(NSString*)string;

/*判断是非是九宫格键盘*/
+(BOOL)isNineKeyBoard:(NSString *)string;

+ (instancetype)defaultSingleton; /**< 单例便利构造器 */

/**极光统计
 * eventID:ios点击事件ID
 * eventName:iOS点击事件名称
 * allEventId:ios+andorid点击事件ID
 * alleventName:ios +andorid点击事件名称
 */
+ (void)countAppEventID:(nullable NSString *)eventID eventName:(nullable NSString *)eventName allEventId:(nullable NSString *)allEventId allEventName:(nullable NSString *)allEventName;

/** 正则表达式判断输入（中文、英文、数字、符号） */
+(BOOL)predicateString:(nonnull NSString*)string;


///** Label标签 */
//+(UILabel *)initLableWithMaxWidth:(CGFloat)maxWidth
//                                    height:(CGFloat)height
//                                    string:(NSString *)string
//                                      font:(UIFont *)font
//                                 textColor:(UIColor *)textColor
//                             numberOfLines:(int)numberOfLines
//                                 sizfTofit:(BOOL)sizfTofit;

@end
